package vista;

import java.awt.image.BufferedImage;
import java.net.URL;
import java.util.ArrayList;

import javax.imageio.ImageIO;

import ar.uba.fi.algo3.titiritero.SuperficieDeDibujo;

public class VistaMovilAnimado extends VistaMovil {
	
	int contador = 0;
	ArrayList<BufferedImage> listaFrames;
	ArrayList<String> listaNames;

	public VistaMovilAnimado (){
		super();
		contador = 0;
		listaFrames = new ArrayList<BufferedImage>();
		listaNames = new ArrayList<String>();
	}
	
	public void addFrame(String path){
		listaNames.add(path);
		nombreArchivoImagen = path;
		try{
			URL u = this.getClass().getResource(nombreArchivoImagen);
			imagen = ImageIO.read(u);
		}catch(Exception ex){
			System.out.println("Error al leer imagen");
		}	
		listaFrames.add(imagen);
	}
	
	protected void rotar (double angulo ){
		if (imagen != null) super.rotar(angulo);
	}
	
	public void dibujar(SuperficieDeDibujo superficeDeDibujo) {
		super.dibujar(superficeDeDibujo);
		this.elegirImagen(listaFrames.get(contador));
		nombreArchivoImagen = listaNames.get(contador);
		contador++;
		if (contador >= listaFrames.size()) contador = 0;
	}
	
	public void elegirImagen(BufferedImage image){
		this.imagen = image;		
	}
	
	public void setNombreArchivoImagen(String nombreArchivoImagen) {
		throw new UnsupportedOperationException();
	}			

}
